package com.lcx.security.main;

import com.lcx.security.FFmpegCommandManager.FFmpegManager;
import com.lcx.security.config.StreamConfig;
import com.lcx.security.schedule.ScheduleTask;
import com.lcx.security.util.IpUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.CompletableFuture;

// 每次项目启动成功后，立即执行推流测试
@Component
public class RtspToRtmpStart implements CommandLineRunner {
    protected static Logger logger = LoggerFactory.getLogger(CommandLineRunner.class);
    @Override
    public void run(String... args) throws Exception {
        // 如果ip和端口 访问的通,则进行rtsp转 rtmp , 否则说明网络不通
        boolean b = IpUtils.checkIpPort(StreamConfig.IP, StreamConfig.PORT);
        logger.info("网络环境检测"+(b?"成功":"失败"));
        if (b){
            ScheduleTask.restartPushStream();

//        } // 否则说明网络不通，则读取前一天的MP4文件 把它转成视频流
//        // mp4文件 默认保存位置 ： 用户配置的目录下
//        // System.getProperty("user.dir")  当前项目路径
//        else {
//            SimpleDateFormat format = new SimpleDateFormat("yy-MM-dd");
//            String file_date = format.format(new Date(System.currentTimeMillis()-24*60*60*1000));
//            logger.info(file_date);
//            File file = new File(StreamConfig.FILE_PATH+file_date);
//            if (!file.isDirectory()){
//                throw new RuntimeException("文件路劲出错");
//            }
//            File[] files = file.listFiles();
//            for (int i = 0; i < files.length; i++) {
//                File video = files[i];
//                if (video.getName().toLowerCase().endsWith(".mp4")){
//                    FFmpegCMD.mp4ToHls(video.getAbsolutePath());
//                }
//                if (IpUtils.checkIpPort(StreamConfig.IP, StreamConfig.PORT)){
//                    break;
//                }
//            }

        }

    }
}
